package com.capgemini.fs.app.ekms.persistence.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDAO<T> {
	void save(T t);

	void save(final List<T> list);

	void update(T t);

	void update(final List<T> list);

	void saveOrUpdate(T t);

	void delete(T t);

	void delete(final List<T> list);

	void evict(T t);

	void clear();

	void merge(T t);

	void refresh(T t);

	T get(Class<?> clazz, Serializable id);

	List<T> findAll(Class<?> clazz);

	T findByPrimaryKey(Class<?> clazz, Serializable id);
	
}
